As a moving image coding system, there are H.263 standardized by ITU-T (the International Telecommunication Union, the Telecommunication Standardization Sector), MPEG-2 and MPEG-4 standardized by MPEG (the Moving Picture Experts Group) of ISO (the International Organization for Standardization)/IEC (the International Electrotechnical Commission) JTC1, and VC-1 proposed by SMPTE (the Society of Motion Picture and Television Engineers), and others. One of the newest international standards for video coding is H.264/AVC which was approved as recommendation H.264 of ITU-T, and which was approved also as International Standard 14496-10 (MPEG-4 Part 10) Advanced Video Coding (AVC) by ISO/IEC.
Chapter 8 of Non-patent Document 1 cited below (8.7 “Deblocking filter process”, pp. 138-146) describes a deblocking filter for decreasing block distortion generated at the time of image decoding, in conformity with the recommendation H.264/AVC.
Annex J of Non-patent Document 2 cited below (“Deblocking filter mode””, pp. 80-84) describes a deblocking filter in conformity with one of optional annexes (extensions) of H.263.
Furthermore, a deblocking filter of VC-1 is described in Non-patent Document 3 cited below.
FIG. 2 explains function of a deblocking filter which is in conformity with the recommendation H.264/AVC.
In the deblocking filter process which is in conformity with the recommendation H.264/AVC, as illustrated in FIG. 2, as for boundaries 201, 202, 203, and 204 of four blocks which are obtained by partitioning a 16×16-pixel macroblock into four in the column direction (vertical direction), filtering by a predetermined arithmetic expression is performed, using four pixels 209 on the left-hand side of each boundary and four pixels 210 on the right-hand side of each boundary, and eight pixels in total on both right and left sides of each boundary are rewritten by the filtering processing result. Next, as for boundaries 205, 206, 207, and 208 of four blocks which are obtained by partitioning the macroblock into four in the row direction (horizontal direction), filtering by a predetermined arithmetic expression is performed, using four pixels 211 on the bottom side of each boundary and four pixels 212 on the top side of each boundary, and eight pixels in total on both top and bottom sides of each boundary are rewritten by the filtering processing result. Therefore, in order to perform the deblocking filter process in units of macroblock, pixels of a macroblock which adjoins the top side and pixels of a macroblock which adjoins the left-hand side are required.
FIG. 16 explains function of a deblocking filter which is in conformity with H.263 Annex J.
In the deblocking filter process which is in conformity with H.263 Annex J, as illustrated in FIG. 16, as for boundaries 1605 and 1607 of two blocks which are obtained by partitioning a 16×16-pixel macroblock into two in the row direction (horizontal direction), filtering by a predetermined arithmetic expression is performed, using four pixels 1611 on the bottom side of each boundary and four pixels 1612 on the top side of each boundary, and eight pixels in total on both top and bottom sides of each boundary are rewritten by the filtering processing result. Next, as for boundaries 1601 and 1603 of two blocks which are obtained by partitioning the macroblock into two in the column direction (vertical direction), filtering by a predetermined arithmetic expression is performed, using four pixels 1609 on the left-hand side of each boundary and four pixels 1610 on the right-hand side of each boundary, and eight pixels in total on both right and left sides of each boundary are rewritten by the filtering processing result. Therefore, in order to perform the deblocking filter process in units of macroblock, pixels of a macroblock which adjoins the top side and pixels of a macroblock which adjoins the left-hand side are required, as is the case with H.264/AVC.
There are two modes in a deblocking filter process which is in conformity with VC-1.
FIG. 17 explains a function of a first mode of the deblocking filter process which is in conformity with VC-1. In the first mode, as for boundaries 1706, 1707, and 1708 of three blocks which are obtained by partitioning a 16×16-pixel macroblock into four in the row direction (horizontal direction), and as for a boundary 1705 of one block which is obtained by partitioning a macroblock adjoining the top side of the macroblock concerned into four, filtering by a predetermined arithmetic expression is performed, using four pixels 1711 on the bottom side of each boundary and four pixels 1712 on the top side of each boundary, and eight pixels in total on both top and bottom sides of each boundary are rewritten by the filtering processing result. Next, as for boundaries 1702, 1703, and 1704 of three blocks which are obtained by partitioning the macroblock into four in the column direction (vertical direction), and as for a boundary 1701 of one block which is obtained by partitioning a macroblock adjoining the left side of the macroblock concerned into four, filtering by a predetermined arithmetic expression is performed, using four pixels 1709 on the left-hand side of each boundary and four pixels 1710 on the right-hand side of each boundary, and eight pixels in total on both right and left sides of each boundary are rewritten by the filtering processing result. Therefore, in order to perform the deblocking filter process in units of macroblock, pixels of a macroblock which adjoins the top side and pixels of a macroblock which adjoins the left-hand side and pixels of a macroblock which adjoins the upper left side are required.
FIG. 18 explains a function of a second mode of the deblocking filter which is in conformity with VC-1. In the second mode, as for boundaries 1807 and 1808 of two blocks which are obtained by partitioning a 16×16-pixel macroblock into four in the row direction (horizontal direction), and boundaries 1805 and 1806 of two blocks which are obtained by partitioning a macroblock adjoining the top side of the macroblock concerned into four in the row direction (horizontal direction), filtering by a predetermined arithmetic expression is performed, using four pixels 1811 on the bottom side of each boundary and four pixels 1812 on the top side of each boundary, and eight pixels in total on both top and bottom sides of each boundary are rewritten by the filtering processing result. Next, as for boundaries 1801, 1802, 1803, and 1804 of four blocks which are obtained by partitioning a 16×16-pixel macroblock into four in the column direction (vertical direction), filtering by a predetermined arithmetic expression is performed, using four pixels 1809 on the left-hand side of each boundary and four pixels 1810 on the right-hand side of each boundary, and eight pixels in total on both right and left sides of each boundary are rewritten by the filtering processing result. Therefore, in order to perform the deblocking filter process in units of macroblock, pixels of a macroblock which adjoins the top side and pixels of a macroblock which adjoins the left-hand side are required.
On the other hand, the result of the deblocking filter process is used in a stage in which a reference decoded image is generated for a motion compensation process of the next image, at the end of decoding. Therefore, the area to which filtering is completed is outputted to an external memory.
FIG. 3 explains an area to which the filtering is completed and a range to be outputted to an external memory, in a deblocking filter process which is in conformity with the recommendation H.264/AVC, after performing filtering in a boundary between a macroblock MB11 and a macroblock MB01 which adjoins the top side of the macroblock MB11 and in a boundary between the macroblock MB11 and a macroblock MB10 which adjoins the left-hand side of the macroblock MB11.
As illustrated in FIG. 3, as a result of the deblocking filter process performed in the macroblock MB11, an area 301 for which all the filtering is completed shifts from the macroblock MB11 as a processing target and from a macroblock boundary of the macroblock MB10 adjoining the left-hand side of the macroblock MB11, and straddles the macroblock MB01 adjoining the top side and a macroblock MB00 adjoining the top left side. Therefore, the range to be outputted to the external memory shifts from the macroblock MB11 as the deblocking filtering target.
For example, Patent Document 1 cited below discloses an image decoding device which outputs to an external memory a range 302 which includes the macroblock MB10 adjoining the left-hand side of the macroblock MB11 as the deblocking filtering target, and the macroblock MB00 adjoining the top left side of the macroblock MB11, or a range 303 which straddles the macroblock MB11 as the deblocking filtering target, the macroblock MB10 adjoining the left-hand side of the macroblock MB11, a macroblock MB01 adjoining the top side of the macroblock MB11, and the macroblock MB00 adjoining the top left side of the macroblock MB11.
On the other hand, Patent Document 2 cited below discloses parallel operation performed in intra frame prediction in moving image coding/decoding which is in conformity with the recommendation H.264/AVC. The parallel operation is performed by a first moving image processing unit 2_0 which processes a first macroblock arranged in an even line and a second moving image processing unit 2_1 which processes a second macroblock arranged in the next line, In this case, a processing result by the first moving image processing unit 2_0 of plural neighboring macroblocks of the first macroblock arranged in an even line is stored into a memory unit LM. The second moving image processing unit 2_1 processes a macroblock in the next line using the stored result.    (Patent Document 1) Japanese Patent Laid-open No. 2007-258882.    (Patent Document 2) Japanese Patent Laid-open No. 2008-42571.    (Non-patent Document 1) Thomas Wiegand et al, “Draft ITU-T Recommendation and Final Draft International Standard of Joint Video Specification (ITU-T Rec. H.264|ISO/IEC 14495-10 AVC), March 2003. http://www.h2631.com/h264/JVC-G050.pdf#search=‘Thomas Wiegand JVTG050d35.doc’, (retrieved on Jun. 1, 2009).    (Non-patent Document 2) ITU-T Recommendation H.263, “Video coding for low bit rate communication,” Series H: AUDIOVISUAL AND MULTIMEDIA SYSTEM, Infrastructure of Audiovisual Services-Coding of Moving Video, INTERNATIONAL TELECOMMUNICATION UNION-TELECOMMUNICATION STANDARDIZATION SECTOR, February 1998, http://www.itu.int/rec/T-REC-H.263-199802=S/en, (retrieved on Jun. 30, 2009).    (Non-patent Document 3) SMPTE Draft Standard for Television SMPTE 421M, Proposed SMPTE Standard for Television: VC-1 Compressed Video Bitstream Format and Decoding Process, Aug. 23, 2005, http://multimedia.cx/mirror/s421m.pdf#search=‘SMPTE 421M draft Standard for VX1’, (retrieved on Jun. 30, 2009).